package com.sumset.backbeans;

import java.awt.Graphics2D;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import javax.swing.ImageIcon;

import com.sumset.daos.DaoCategoriaDenuncia;
import com.sumset.daos.DaoCategoriaPost;
import com.sumset.daos.DaoComentario;
import com.sumset.daos.DaoDenuncia;
import com.sumset.daos.DaoPost;
import com.sumset.daos.DaoUsuario;
import com.sumset.entidades.CategoriaDenuncia;
import com.sumset.entidades.CategoriaPost;
import com.sumset.entidades.Comentario;
import com.sumset.entidades.Denuncia;
import com.sumset.entidades.Post;
import com.sumset.entidades.Usuario;
import com.sumset.variablesglobales.VariablesGLobales;

/**
 * Descripcion Clase: Clase donde estan todas las funciones y atributos relacionados con los Post
 * Responsabilidades: Atender todas las peticiones referentes a los paginas de los Posts.
 * Fecha Creacion: 11/02/2012
 * @author andres
 * @author Deivid*/
@SessionScoped
@ManagedBean
public class PostBean {

	@EJB
	private DaoPost ejbPost;
	@EJB
	private DaoCategoriaPost ejbCategoriaPost;
	@EJB
	private DaoComentario ejbComentario;
	@EJB
	private DaoUsuario ejbUsuario;
	@EJB
	private DaoCategoriaDenuncia ejbCategoriaDenuncia;
	@EJB
	private DaoDenuncia ejbDenuncia;
	private String contenido;
	private String titulo;
	private String fuente;
	private String tag;
	private Integer cantidadLikes;
	private Integer cantidadDisLIkes;
	private Integer cantidadVisitas;
	private Integer numeroCategoria = 0;
	private Post post;
	private Integer idPost;
	private Usuario usuarioVisitando;
	private String contenidoComentario;
	private Post postVisitado;
	private Integer catDenuncia;
	private String contenidoDenuncia;
	private String mensajeRegistrar;
	private String mensajeComentario;

	
	/**
	 * Proposito del Metodo: Registrar un Post.
	 * Responsabilidades: Es responsable De obtener los cambios que se realizan sobre los campos
	 * necesarios del post, para luego registrarlo.
	 * @return ruta: la ruta de la pagina a redireccionar
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception No tiene*/
	public String registrarPost() {

		if(titulo!="" && contenido!="" && fuente!="" && tag!="") {
			
			Post post = new Post();
			post.setTitulo(titulo);
			post.setContenido(contenido);
			post.setFuente(fuente);
			post.setTag(tag);
			CategoriaPost categoria = ejbCategoriaPost.buscar(numeroCategoria);
			post.setCategoriaPost(categoria);
			UsuarioBean usuario = (UsuarioBean) FacesContext.getCurrentInstance()
					.getExternalContext().getSessionMap().get("usuarioBean");
			post.setUsuario(usuario.getUsuario());
			ejbPost.insertar(post);
			return VariablesGLobales.RUTA_PAGINA_POST;
			
		}
		
		else {
			
			mensajeRegistrar = VariablesGLobales.MENSAJE_REGISTRARPOST;
			return VariablesGLobales.RUTA_PAGINA_P;
			
			
		}
		
	}

	/**
	 * Proposito del Metodo: Obtener el evento del combo.
	 * Responsabilidades: Obtener todos los eventos que ocurran en el combo 
	 * de categorias y Asignarle el valor de la categoria seleccionada a la 
	 * variable numeroCategoria.
	 * @return No retorna.
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param evento: EL evento obtenido en el Combo.
	 * @exception No tiene*/
	public void eventoCombo(ValueChangeEvent evento) {

		numeroCategoria = (Integer) evento.getNewValue();

	}
	
	/**
	 * Proposito del Metodo: Retornar la pagina de error del sistema.
	 * Responsabilidades: Es responsable de redireccionar a la pagina de error del sistema
	 * @return ruta: la ruta de la pagina a redireccionar
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception No tiene*/
	public String irPaginaError() {
		
		return VariablesGLobales.RUTA_PAGINA_ERROR;
		
	}

	/**
	 * Proposito del Metodo: Obtener la lista de categorias.
	 * Responsabilidades: Es responsable de obtener la lista de todas las categorias.
	 * @return List<SelectItem>: lista de Select Items de las categorias.
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception Exception*/
	public List<SelectItem> getListarCategorias() {

		List<SelectItem> lista = new ArrayList<SelectItem>();
		
		try {
			
			List<CategoriaPost> listarCategorias = ejbCategoriaPost.listarDatos();
			for (CategoriaPost categoriaPost : listarCategorias) {

				SelectItem item = new SelectItem(categoriaPost.getId(),
						categoriaPost.getDescripcion());
				lista.add(item);
			}

			
		} catch (Exception e) {
			
			irPaginaError();
		}
		
		return lista;

	}

	/**
	 * Proposito del Metodo: Listar los Post por Categoria..
	 * Responsabilidades: Obtener todos los Post que se han realizado por cada
	 * una de las categorias seleccionada.
	 * @return List<Post>: lista de los Post
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception Exception*/
	public List<Post> getListarPostXCategoria() {

		List<Post> listaPost = new ArrayList<Post>();
		
		try {
			
			UsuarioBean usuarioBean = (UsuarioBean) FacesContext
					.getCurrentInstance().getExternalContext().getSessionMap()
					.get("usuarioBean");
			listaPost = ejbPost.listarPostXCategoria(numeroCategoria, usuarioBean
					.getUsuario().getNickUser());
			
		} catch (Exception e) {
			
			irPaginaError();
		}
		
		return listaPost;

	}

	/**
	 * Proposito del Metodo: Buscar Un post.
	 * Responsabilidades: Obtener el Post, el cual se manda a traves de los
	 * valores obtenidos en una tabla de las paginas del Post.
	 * @return ruta: la ruta de la pagina a redireccionar
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param 
	 * @exception No tiene*/
	public String metodoPosts(Post p) {
		post = ejbPost.buscar(p.getId());
		return VariablesGLobales.RUTA_PAGINA_DETALLESMISPOST;
	}

	/**
	 * Proposito del Metodo: Actualizar la cantidad de Visitas de cada post.
	 * Responsabilidades: Es responsable De Actualizar el numero de visitas de 
	 * cada post. 
	 * @return ruta: la ruta de la pagina a redireccionar
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param id: el id del post a buscar.
	 * @exception No tiene*/
	public String metodoPostVisitando(Integer id) {
	
		postVisitado = ejbPost.buscar(id);
		postVisitado.setCantidadVisitas(postVisitado.getCantidadVisitas() + 1);
		ejbPost.actualizar(postVisitado);
		return VariablesGLobales.RUTA_PAGINA_VER_OTROSPOST;
	}

	/**
	 * Proposito del Metodo: Cargar la Foto del usuario.
	 * Responsabilidades: Es responsable De obtener los bytes de la foto 
	 * y poder dibujarlos en la pagina..
	 * @return no tine.
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param g2d:Componente grafico.
	 * @param data: El objeto.
	 * @exception No tiene*/
	public void cargarFotoUsuario(Graphics2D g2d, Object data) {

		String nick = (String) data;
		Usuario us = ejbUsuario.buscar(nick);
		ImageIcon im = new ImageIcon(us.getAvatar());
		g2d.drawImage(im.getImage(), 0, 0, 100, 100, null);

	}

	/**
	 * Proposito del Metodo: Registrar los Comentarios.
	 * Responsabilidades: Es responsable De obtener los cambios que se realizan sobre los campos
	 * necesarios del comentario, para luego registrarlo.
	 * @return ruta: la ruta de la pagina a redireccionar
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception No tiene*/
	public String metodoRegistrarComentario() {

		if(contenidoComentario != null) {
			
			Comentario comentario = new Comentario();
			comentario.setContenido(contenidoComentario);
			UsuarioBean usuarioBean = (UsuarioBean) FacesContext
					.getCurrentInstance().getExternalContext().getSessionMap()
					.get("usuarioBean");
			comentario.setUsuario(usuarioBean.getUsuario());
			comentario.setPost(post);
			ejbComentario.insertar(comentario);
			setContenidoComentario(null);
			return VariablesGLobales.RUTA_PAGINA_DETALLESMISPOST;
			
		}
		
		else {
			
			return VariablesGLobales.RUTA_PAGINA_ERROR;
			
		}
		

	}

	/**
	 * Proposito del Metodo: Registrar Comentario.
	 * Responsabilidades: Obtener el valor del campo del comentario, para despues
	 * registrar un comentario en el Post visitado
	 * @return ruta: la ruta de la pagina a redireccionar
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception No tiene*/
	public String metodoRegistrarComentarioPostVisitado() {

		if(contenidoComentario!=""){
			
			Comentario comentario = new Comentario();
			comentario.setContenido(contenidoComentario);
			UsuarioBean usuarioBean = (UsuarioBean) FacesContext
					.getCurrentInstance().getExternalContext().getSessionMap()
					.get("usuarioBean");
			comentario.setUsuario(usuarioBean.getUsuario());
			comentario.setPost(postVisitado);
			ejbComentario.insertar(comentario);
			setContenidoComentario(null);
			return VariablesGLobales.RUTA_PAGINA_VER_OTROSPOST;
			
		}
		
		else {
			
			mensajeComentario = VariablesGLobales.MENSAJE_COMENTARIO;
			return "PaginaVerOtrosPost.html.jsf";
			
			
		}
		

	}

	/**
	 * Proposito del Metodo: Listar Post.
	 * Responsabilidades: Es responsable De obtener Los post hasta el momento registrados en la
	 * Base de Datos.
	 * @return List<Post>: lista de Post
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception Exception*/
	public List<Post> getListarPost() {

		List<Post> lista = new ArrayList<Post>();
		try {
			
			 lista = ejbPost.listarDatos();
			
		} catch (Exception e) {
			
			irPaginaError();
		}
		
		return lista;
		
	}

	/**
	 * Proposito del Metodo: Listar COmentarios realizados por cada Post.
	 * Responsabilidades: Es responsable De obtener todos los comentarios que se hallan
	 * realizado por cada Post.
	 * @return List<Comentario>: lista de COmentarios.
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception Exception*/
	public List<Comentario> getListarComentariosXPost() {

		List<Comentario> listaComentarios = new ArrayList<Comentario>();
		try {
			
			List<Comentario> lista = ejbComentario.listarDatos();
			for (Comentario comentario : lista) {

				if (comentario.getPost().getId().equals(post.getId())) {

					listaComentarios.add(comentario);

				}
			}
			
		} catch (Exception e) {
			
			irPaginaError();
		}

		return listaComentarios;

	}

	/**
	 * Proposito del Metodo: Listar COmentarios realizados por cada Post Visitado.
	 * Responsabilidades: Es responsable De obtener todos los comentarios que se hallan
	 * realizado por cada Post Visitado.
	 * @return List<Comentario>: lista de COmentarios.
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception Exception*/
	public List<Comentario> getListarComentariosXPostVisitado() {

		List<Comentario> listaComentarios = new ArrayList<Comentario>();
		try {
			
			List<Comentario> lista = ejbComentario.listarDatos();
			
			for (Comentario comentario : lista) {

				if (comentario.getPost().getId().equals(postVisitado.getId())) {

					listaComentarios.add(comentario);

				}
			}
			
		} catch (Exception e) {
			
			irPaginaError();
		}

		return listaComentarios;

	}

	/**
	 * Proposito del Metodo: Seguir a un usuario.
	 * Responsabilidades: Es reponsable de realizar un registro donde 
	 * esten el usuario que sigue y el usuario seguidor.
	 * @return no retorna.
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception Exception*/
	public void seguirUsuario() {

		try {
			
			UsuarioBean usuarioBean = (UsuarioBean) FacesContext
					.getCurrentInstance().getExternalContext().getSessionMap()
					.get("usuarioBean");

			Usuario usua = ejbUsuario
					.buscar(usuarioBean.getUsuario().getNickUser());
			List<Usuario> lista = new ArrayList<Usuario>();
			lista.add(usuarioVisitando);
			usua.setListaSiguiendo(lista);
			ejbUsuario.actualizar(usua);
			
		} catch (Exception e) {
			
			irPaginaError();
		}

	}

	/**
	 * Proposito del Metodo: Actualizar los Me Gusta del Post.
	 * Responsabilidades: Incrementar la cantidad de  me gusta de cada Post en una Unidad.
	 * @return ruta: la ruta de la pagina a redireccionar
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception No tiene*/
	public String metodoMegusta() {

		postVisitado.setCantidadLikes(postVisitado.getCantidadLikes() + 1);
		ejbPost.actualizar(postVisitado);
		return VariablesGLobales.RUTA_PAGINA_VER_OTROSPOST;

	}

	/**
	 * Proposito del Metodo: Obtener todas las categorias de la denuncia.
	 * Responsabilidades: Es responsable De obtener cada una de las categorias de la
	 * denuncia registradas en la BD.
	 * @return List<SelectItem>: la lista de items de las categorias de denuncia.
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception Exception*/
	public List<SelectItem> getListarCategoriasDenuncia() {

		List<SelectItem> listaItems = new ArrayList<SelectItem>();
		try {
			
			List<CategoriaDenuncia> listaCat = ejbCategoriaDenuncia.listarDatos();
			for (CategoriaDenuncia categoriaDenuncia : listaCat) {

				SelectItem item = new SelectItem(categoriaDenuncia.getId(),
						categoriaDenuncia.getDescripcion());
				listaItems.add(item);
			}
			
		} catch (Exception e) {
			
			irPaginaError();
		}

		return listaItems;
	}

	/**
	 * Proposito del Metodo: Registrar las Denuncias.
	 * Responsabilidades: Es responsable de obtener todos los parametros necesarios
	 * para el registro de una denuncia en la BD.
	 * @return no tiene
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception Exception*/
	public void registrarDenuncia() {

		try {
			
			Denuncia denuncia = new Denuncia();
			CategoriaDenuncia cat = ejbCategoriaDenuncia.buscar(catDenuncia);
			denuncia.setCategoriaDenuncia(cat);
			denuncia.setContenido(contenidoDenuncia);
			denuncia.setPost(postVisitado);
			UsuarioBean usuarioBean = (UsuarioBean) FacesContext
					.getCurrentInstance().getExternalContext().getSessionMap()
					.get("usuarioBean");
			denuncia.setUsuario(usuarioBean.getUsuario());
			ejbDenuncia.insertar(denuncia);
			
		} catch (Exception e) {
			
			irPaginaError();
		}

	}

	/**
	 * Proposito del Metodo: Actualizar los No Me Gusta del Post.
	 * Responsabilidades: Incrementar la cantidad de no me gusta de cada Post en una Unidad.
	 * @return ruta: la ruta de la pagina a redireccionar
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param No tiene
	 * @exception No tiene*/
	public String metodoNoMegusta() {

		postVisitado
				.setCantidadDislikes((postVisitado.getCantidadDislikes() + 1));
		ejbPost.actualizar(postVisitado);
		return VariablesGLobales.RUTA_PAGINA_VER_OTROSPOST;

	}

	/**
	 * Proposito del Metodo: Buscar el Usuario al cual le estoy visitando el perfil.
	 * Responsabilidades: Es responsable De obtener los datos del usuario a traves de
	 * su identificacion.
	 * @return no tiene
	 * @author andres.
	 * Fecha Creacion: No remember.
	 * @param Usuario.
	 * @exception Exception*/
	public void buscarUsuarioVisitando(Usuario usuario) {

		try {
			
			usuarioVisitando = ejbUsuario.buscar(usuario.getNickUser());
			
		} catch (Exception e) {
			
			irPaginaError();
		}

	}
	
	
	//---------------------Metodos Getters and Setters------------

	/**
	 * Metodo para obtener el valor del contenido de l post de la pagina del
	 * mismo
	 * @return una cadena del contenido*/
	public String getContenido() {
		return contenido;
	}

	/**
	 * Metodo para agregar un contenido al post
	 * @param contenido*/
	public void setContenido(String contenido) {
		this.contenido = contenido;
	}

	/**
	 * Metodo para obtener el valor del titulo del post
	 * @return una cadena con el titulo*/
	public String getTitulo() {
		return titulo;
	}

	/**
	 * Metodo para agregar un titulo al post
	 * @param titulo*/
	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	/**
	 * Metodo para obtener el valor de la fuente del post
	 * @return una cadena con el valor de la fuentes*/
	public String getFuente() {
		return fuente;
	}

	/**
	 * Metodo para agregar una fuente  un post
	 * @param fuente*/
	public void setFuente(String fuente) {
		this.fuente = fuente;
	}

	/**
	 * Metodo para obtener los tags de un post.
	 * @return una cadena con los tags.*/
	public String getTag() {
		return tag;
	}

	/**
	 * Metodo para agregar un tag a un post
	 * @param tag*/
	public void setTag(String tag) {
		this.tag = tag;
	}

	/**
	 * Metodo para obtener la cantidad de likes desde la pagina del post
	 * @return cantidadLikes*/
	public Integer getCantidadLikes() {
		return cantidadLikes;
	}

	/**
	 * Metodo para agregar la cantidad de likes 
	 * @param cantidadLikes*/
	public void setCantidadLikes(Integer cantidadLikes) {
		this.cantidadLikes = cantidadLikes;
	}

	/**
	 * Metodo para obtener la cantidad de dislikes desde la pagina.
	 * @return cantidadDisLikes*/
	public Integer getCantidadDisLIkes() {
		return cantidadDisLIkes;
	}

	/**
	 * Metodo para agregar la cantidad de dislikes
	 * @param cantidadDisLIkes*/
	public void setCantidadDisLIkes(Integer cantidadDisLIkes) {
		this.cantidadDisLIkes = cantidadDisLIkes;
	}

	/**
	 * metodo para obtener la cantidad de visitas
	 * @return cantidadVisitas*/
	public Integer getCantidadVisitas() {
		return cantidadVisitas;
	}

	/**
	 * Metodo para agregar un valor determinado a la cantidad de visitas
	 * @param cantidadVisitas*/
	public void setCantidadVisitas(Integer cantidadVisitas) {
		this.cantidadVisitas = cantidadVisitas;
	}

	/**
	 * Metodo para obtener el numero de la ctegoria
	 * @return numero de la categoria*/
	public Integer getNumeroCategoria() {
		return numeroCategoria;
	}

	/**
	 * Metodo para agregar un valor al numero de la categoria
	 * @param numeroCategoria*/
	public void setNumeroCategoria(Integer numeroCategoria) {
		this.numeroCategoria = numeroCategoria;
	}

	/**
	 * Metodo para obtener el post
	 * @return el posts*/
	public Post getPost() {
		return post;
	}

	/**
	 * Metodo para agregarle un valor a la variable del post
	 * @param post*/
	public void setPost(Post post) {
		this.post = post;
	}

	/**
	 * Metodo para obtener el ejbPOst
	 * @return ejbPOst*/
	public DaoPost getEjbPost() {
		return ejbPost;
	}

	/**
	 * Metodo para agregarle un valor al ejbPost
	 * @param ejbPost*/
	public void setEjbPost(DaoPost ejbPost) {
		this.ejbPost = ejbPost;
	}

	/**
	 * Metodo para obtener el valor del DaoCategoriaPOst
	 * @return DaoCategoriaPOst*/
	public DaoCategoriaPost getEjbCategoriaPost() {
		return ejbCategoriaPost;
	}

	/**
	 * Metodo para agregar un valor al DaoCategoriaPost
	 * @param ejbCategoriaPost*/
	public void setEjbCategoriaPost(DaoCategoriaPost ejbCategoriaPost) {
		this.ejbCategoriaPost = ejbCategoriaPost;
	}

	/**
	 * Metodo para obtener el valor del id del post
	 * @return el id del Post*/
	public Integer getIdPost() {
		return idPost;
	}

	/**
	 * Metodop ara agregar un id al post
	 * @param idPost
	 * @return una cadena para ir a una pagina*/
	public String setIdPost(Integer idPost) {
		this.idPost = idPost;
		return "index.xhtml";
	}

	/**
	 * Metodo para obtener el calor del DaoComentario.
	 * @return DaoCOmentario*/
	public DaoComentario getEjbComentario() {
		return ejbComentario;
	}

	/**
	 * Metodo para Agregar un valor al DaoCOmentario.
	 * @param ejbComentario*/
	public void setEjbComentario(DaoComentario ejbComentario) {
		this.ejbComentario = ejbComentario;
	}

	/**
	 * Metodo para obtener el usuario al cual estoy visitando desde la pagina.
	 * @return el usuario*/
	public Usuario getUsuarioVisitando() {
		return usuarioVisitando;
	}

	/**
	 * Metodo para agregar un valor determinado a la cariable del usuario.
	 * @param usuarioVisitando*/
	public void setUsuarioVisitando(Usuario usuarioVisitando) {
		this.usuarioVisitando = usuarioVisitando;
	}

	/**
	 * Metodo para obtener el valor del contenido del comentario.
	 * @return una cadena con el contenido del comentario*/
	public String getContenidoComentario() {
		return contenidoComentario;
	}
	
	/**
	 *Metodo para Agregar un valor determinado al contenido del comentario. 
	 * @param contenidoComentario*/
	public void setContenidoComentario(String contenidoComentario) {
		this.contenidoComentario = contenidoComentario;
	}

	/**
	 * Metodo para obtener el POst Visitado
	 * @return el valor del POst visitado
	 */
	public Post getPostVisitado() {
		return postVisitado;
	}

	/**
	 * Metodo para agregar un valor determinado al post visitado.
	 * @param postVisitado*/
	public void setPostVisitado(Post postVisitado) {
		this.postVisitado = postVisitado;
	}

	/**
	 * Metodo para obtener el valor del daoUsuario.
	 * @return DaoUsuario*/
	public DaoUsuario getEjbUsuario() {
		return ejbUsuario;
	}

	/**
	 * Metodo para Agregar un valor al DaoUsuario
	 * @param ejbUsuario*/
	public void setEjbUsuario(DaoUsuario ejbUsuario) {
		this.ejbUsuario = ejbUsuario;
	}

	/**
	 * Metodo para obtener el valor del DaoCategoriaDenuncia.
	 * @return DaoCategoriaDenuncia.*/
	public DaoCategoriaDenuncia getEjbCategoriaDenuncia() {
		return ejbCategoriaDenuncia;
	}

	/**
	 * Metodo para agregar un valor al daoCategoriaDenuncia.
	 * @param ejbCategoriaDenuncia*/
	public void setEjbCategoriaDenuncia(
			DaoCategoriaDenuncia ejbCategoriaDenuncia) {
		this.ejbCategoriaDenuncia = ejbCategoriaDenuncia;
	}

	/**
	 * Metodo para obtener el valor desde la pagina de la categoriadenuncia.
	 * @return el id de la Categoria de denuncia */
	public Integer getCatDenuncia() {
		return catDenuncia;
	}

	/**
	 * Metodo para Agregar valor a la variable catDenuncia.
	 * @param catDenuncia*/
	public void setCatDenuncia(Integer catDenuncia) {
		this.catDenuncia = catDenuncia;
	}

	/**
	 * Metodo para obtener el valor del contenido de la denuncia desde la pagina
	 * @return la cadena con el contenido de la denuncia*/
	public String getContenidoDenuncia() {
		return contenidoDenuncia;
	}

	/**
	 * Metodo para agregar valor al caontenido de la denuncia.
	 * @param contenidoDenuncia*/
	public void setContenidoDenuncia(String contenidoDenuncia) {
		this.contenidoDenuncia = contenidoDenuncia;
	}

	/**
	 * Metodo para obtener el valor del DaoDenuncia.
	 * @return el valor del DaoDenuncia*/
	public DaoDenuncia getEjbDenuncia() {
		return ejbDenuncia;
	}

	/**
	 * Metodo para dar un valor determinado al daoDenuncia.
	 * @param ejbDenuncia*/
	public void setEjbDenuncia(DaoDenuncia ejbDenuncia) {
		this.ejbDenuncia = ejbDenuncia;
	}

	public String getMensajeRegistrar() {
		return mensajeRegistrar;
	}

	public void setMensajeRegistrar(String mensajeRegistrar) {
		this.mensajeRegistrar = mensajeRegistrar;
	}

	public String getMensajeComentario() {
		return mensajeComentario;
	}

	public void setMensajeComentario(String mensajeComentario) {
		this.mensajeComentario = mensajeComentario;
	}
	
	
	

}
